79a10fe7a031d0258060787aef834ae47fbfdc2d,example/src/main/java/com/mbientlab/metawear/example/MainActivity.java,MainActivity,gyroMe,#View#,520
Before Change
final Switch mySwitch= (Switch) v;
if (mySwitch.isChecked()) {
if (!gyroSetup) {
gyroRoute = mwBoard.routeData().fromGyro().subscribe(new DataSignal.MessageProcessor() {
@Override
public void process(Message msg) {
final Bmi160GyroMessage.GyroSpin spinData = msg.getData(Bmi160GyroMessage.GyroSpin.class);
Log.i("test", String.format("Gyro: %.3f,%.3f,%.3f", spinData.x(), spinData.y(), spinData.z()));
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
((TextView) findViewById(R.id.textView7)).setText(String.format("%.3f,%.3f,%.3f", spinData.x(), spinData.y(), spinData.z()));
}
});
}
}).log(new DataSignal.MessageProcessor() {
@Override
public void process(Message msg) {
final Bmi160GyroMessage.GyroSpin spinData = msg.getData(Bmi160GyroMessage.GyroSpin.class);
Log.i("test", String.format("Log Gyro: %.3f,%.3f,%.3f", spinData.x(), spinData.y(), spinData.z()));
}
}).commit();
gyroSetup= true;
}
gyroRoute.onComplete(new CompletionHandler<RouteManager>() {
@Override
public void success(RouteManager result) {
Bmi160Gyro gyroModule= mwBoard.getModule(Bmi160Gyro.class);
gyroModule.configure().withOutputDataRate(Bmi160Gyro.OutputDataRate.ODR_25_HZ)
.withFullScaleRange(Bmi160Gyro.FullScaleRange.FSR_125)
.commit();
gyroModule.globalStart();
}
});
} else {
gyroRoute.onComplete(new CompletionHandler<RouteManager>() {
@Override
After Change
final Switch mySwitch= (Switch) v;
if (mySwitch.isChecked()) {
if (!gyroSetup) {
mwBoard.routeData().fromGyro().subscribe("gyroAxisSub").log("gyroAxisLogger")
.commit().onComplete(new CompletionHandler<RouteManager>() {
@Override
public void success(RouteManager result) {
result.assignProcessor("gyroAxisSub", new DataSignal.MessageProcessor() {
@Override
public void process(Message msg) {
final Bmi160GyroMessage.GyroSpin spinData = msg.getData(Bmi160GyroMessage.GyroSpin.class);
Log.i("test", String.format("Gyro: %.3f,%.3f,%.3f", spinData.x(), spinData.y(), spinData.z()));
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
((TextView) findViewById(R.id.textView7)).setText(String.format("%.3f,%.3f,%.3f", spinData.x(), spinData.y(), spinData.z()));
}
});
}
});
result.assignLogProcessor("gyroAxisLogger", new DataSignal.MessageProcessor() {
@Override
public void process(Message msg) {
final Bmi160GyroMessage.GyroSpin spinData = msg.getData(Bmi160GyroMessage.GyroSpin.class);
Log.i("test", String.format("Log Gyro: %.3f,%.3f,%.3f", spinData.x(), spinData.y(), spinData.z()));
}
});
Bmi160Gyro gyroModule = mwBoard.getModule(Bmi160Gyro.class);
gyroModule.configure().withOutputDataRate(Bmi160Gyro.OutputDataRate.ODR_25_HZ)
.withFullScaleRange(Bmi160Gyro.FullScaleRange.FSR_125)
.commit();
gyroModule.globalStart();
}
});
gyroSetup= true;
} else {
mwBoard.getModule(Logging.class).startLogging();